package com.zjs.express.utils;

import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;

import java.util.Map;

/**
 * Json工具类
 */
public class JsonUtils {

    private static final Gson gson = new Gson();
    private static final JsonParser jsonParser = new JsonParser();

    /**
     * 将对象转换为 JSON 字符串
     *
     * @param obj 要转换的对象
     * @return JSON 字符串
     */
    public static String toJson(Object obj) {
        return gson.toJson(obj);
    }

    /**
     * 将 JSON 字符串转换为对象
     *
     * @param jsonStr JSON 字符串
     * @param clazz   目标类
     * @param <T>     目标类型
     * @return 转换后的对象
     */
    public static <T> T fromJson(String jsonStr, Class<T> clazz) {
        return gson.fromJson(jsonStr, clazz);
    }

    /**
     * 将 JSON 字符串转换为 Map
     *
     * @param jsonStr JSON 字符串
     * @return Map 对象
     */
    public static Map<String, Object> fromJsonToMap(String jsonStr) {
        return gson.fromJson(jsonStr, Map.class);
    }

}
